/*
 * @Author: 李环玉 834654733@qq.com
 * @Date: 2023-12-23 17:02:30
 * @LastEditors: 李环玉 834654733@qq.com
 * @LastEditTime: 2023-12-24 01:49:38
 * @FilePath: \koa-server\src\model\systemMeun.model.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */

const { DataTypes } = require('sequelize')

const seq = require('../db/seq')

const systemMenu = seq.define('blog_system_menu',{
  name:{
    type:DataTypes.STRING(100),
    allowNull:true,
    unique:false,
    comment:'菜单名称'
  },
  title:{
    type:DataTypes.STRING(1000),
    allowNull:true,
    unique:false,
    comment:'菜单标题'
  },
  component:{
    type:DataTypes.STRING(1000),
    allowNull:true,
    unique:false,
    comment:'菜单组件'
  },
  path:{
    type:DataTypes.STRING(100),
    allowNull:true,
    unique:false,
    comment:'菜单路由'
  },
  hidden:{
    type:DataTypes.BOOLEAN,
    allowNull:true,
    unique:false,
    defaultValue:false,
    comment:'是否隐藏'
  },
  redirect:{
    type:DataTypes.STRING(100),
    allowNull:true,
    unique:false,
    comment:'重定向'
  },
  alwaysShow:{
    type:DataTypes.STRING(1000),
    allowNull:true,
    unique:false,
    comment:'显示'
  },
  icon:{
    type:DataTypes.STRING(100),
    allowNull:true,
    unique:false,
    comment:'菜单图标'
  },
  visible:{
    type:DataTypes.STRING(100),
    allowNull:true,
    unique:false,
    comment:'未知'
  },
  pId:{
    type:DataTypes.STRING(100),
    allowNull:true,
    unique:false,
    comment:'上级菜单'
  },
  parentName:{
    type:DataTypes.STRING(100),
    allowNull:true,
    unique:false,
    comment:'上级菜单名称'
  }
},{
  tableName:'blog_system_menu',
  timestamps:false
})
systemMenu.hasMany(
  systemMenu, 
  {
    as:'children', 
    foreignKey: 'pId',
    sourceKey:'id'
  }
);

//创建数据表
// systemMenu.sync({ force:true })

module.exports = systemMenu